package com.etone.smartAudit.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.etone.smartAudit.domain.AdminMenu;
import com.etone.smartAudit.vo.menu.MenuVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface AdminMenuMapper extends BaseMapper<AdminMenu> {
    /**
     * 查找管理员菜单
     *
     * @param adminId
     * @return
     */
    List<MenuVO> findByAdminId(@Param("adminId") Integer adminId);

    /**
     * 查找角色菜单
     *
     * @param roleId
     * @return
     */
    List<MenuVO> findByRoleId(@Param("roleId") Integer roleId);

    /**
     * 查询所有有效菜单
     *
     * @return
     */
    List<MenuVO> findAll();

    /**
     * 查找是否有子菜单
     *
     * @param parentId
     * @return
     */
    Boolean hasChildrenMenu(@Param("parentId") Integer parentId);

    /**
     * 查询菜单是否存在
     *
     * @param id
     * @return
     */
    Boolean exists(@Param("id") Integer id);

    /***
     * 获取所有菜单
     * @return
     */
    List<MenuVO> getAll();
}
